<?php
	$urlCurso			=	constant('PARAMETRO_1');
	$cursoVisualizado	=	new Curso(null, $urlCurso);
	$idCurso 			=	$cursoVisualizado->getIdCurso();
	$idUsuario			=	$this->getUsuario() == null ? null : $this->getUsuario()->getIdUsuario();
		
	if ($idUsuario != NULL && defined('PARAMETRO_3') && constant('PARAMETRO_3') == 'blog') {
		$permissaoBlog 		=	new Permissao($idCurso,'blog',$this->getUsuario()->getTipoCadastro());
		if(defined('PARAMETRO_4') && constant('PARAMETRO_4') == 'alterarPermissoes'){
			if($permissaoBlog->checkPermissao('Alterar',$this->getUsuario()->getFuncaoUsuarioCurso($idUsuario,$tipoUsuario,$idCurso),0)){
				require('gerencia/permissoes.php');
				exit(0);
			}else{
				redireciona(array('curso', $urlCurso, constant('PARAMETRO_2'), constant('PARAMETRO_3')));
			}
			
		}
		$blog	=	new Blog($cursoVisualizado->getIdCurso(), 'curso');
		if ($blog->getId() != NULL) {
			if ($_POST) {
				if (isset($_POST['btnInserir'])) {
					$strTitulo	=	pegaPost('strTitulo');
					$strPost	=	configuraHTMLFormatado(pegaPost('strPost'));
					$strBlog	=	pegaPost('strBlog');
					
					if ($strBlog == 'blogCurso') {
						$idAtividade	=	NULL;
					}
					else {
						$idAtividade	=	str_replace('atividade', '', $strBlog);
					}
					if ($blog->inserirPost($idUsuario, $cursoVisualizado->getIdCurso(), $strTitulo, $strPost, $idAtividade)) {
						redireciona(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'blog'));
					}
					else {
						$_SESSION['constructore']['inserirPost']['strTitulo']	=	htmlentities((stripslashes(pegaPost('strTitulo'))), ENT_QUOTES, 'UTF-8');
						$_SESSION['constructore']['inserirPost']['strPost']		=	stripslashes(pegaPost('strPost'));
						$_SESSION['constructore']['inserirPost']['strBlog']		=	$strBlog;
						redireciona(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'blog', 'inserir'));
					}
				}
				
				if (isset($_POST['btnSalvar'])) {
					if (defined('PARAMETRO_4') && is_numeric(constant('PARAMETRO_4'))) {
						$idPost		=	constant('PARAMETRO_4');
						$strTitulo	=	pegaPost('strTitulo');
						$strPost	=	configuraHTMLFormatado(pegaPost('strPost'));
						$strBlog	=	pegaPost('strBlog');
						
						if ($strBlog == 'blogCurso') {
							$idAtividade	=	NULL;
						}
						else {
							$idAtividade	=	str_replace('atividade', '', $strBlog);
						}
						
						if ($blog->editarPost($idPost, $idUsuario, $cursoVisualizado->getIdCurso(), $strTitulo, $strPost, $idAtividade)) {
							redireciona(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'blog'));
						}
						else {
							$_SESSION['constructore']['inserirPost']['strTitulo']	=	htmlentities((stripslashes(pegaPost('strTitulo'))), ENT_QUOTES, 'UTF-8');
							$_SESSION['constructore']['inserirPost']['strPost']		=	stripslashes(pegaPost('strPost'));
							$_SESSION['constructore']['inserirPost']['strBlog']		=	$strBlog;
							redireciona(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'blog', $idPost, 'editar'));
						}
					}
					else {
						redireciona(array('404'));
					}
				}
				
				if (isset($_POST['btnCancelar'])) {
					redireciona(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'blog'));
				}
				
				foreach ($_POST as $chave => $post) {
					if (preg_match('/^btnComentar[0-9]+$/', $chave)) {
						//Encontrou um comentario por fazer
						$idPost		=	str_replace('btnComentar', '', $chave);
						$comentario	=	pegaPost('strComentario');
						
						if ($blog->inserirComentario($idPost, $idUsuario, $comentario)) {
							redireciona($_SESSION['constructore']['URLOrigem']);
						}
						else {
							redireciona($_SESSION['constructore']['URLOrigem']);
						}
					}
				}
			}
			else {
				$listaBlogs		=	$blog->getListaBlogs();
				
				if (is_array($listaBlogs)) {
					foreach ($listaBlogs as $chave => $blogCategoria) {
						if ($blogCategoria['titulo'] == texto('TEXTO_BLOG_DO_CURSO')) {
							$listaBlogs[$chave]['href']		=	montaLink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'blog'));
							$listaBlogs[$chave]['value']	=	'blogCurso';
						}
						else {
							$listaBlogs[$chave]['href']		=	montaLink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'blog', 'atividade', $blogCategoria['idAtividade']));
							$listaBlogs[$chave]['value']	=	'atividade' . $blogCategoria['idAtividade'];
						}
					}
					
					if (defined('PARAMETRO_4') && constant('PARAMETRO_4') == 'inserir') {
						$inserir	=	true;
						$tituloBlog	=	texto('TEXTO_BLOG_DO_CURSO');
						$this->getSmarty()->assign('inserir', $inserir);
						$this->getSmarty()->assign('tituloBlog', $tituloBlog);
						$this->getSmarty()->assign('listaBlogs', $listaBlogs);
						$this->getSmarty()->assign('TITULO_BARRA_NAVEGADOR', texto('TITULO_BARRA_NAVEGADOR', array(texto('TEXTO_INSERIR_POST') . ' - ' . texto('AREA_BLOG') . ' - ' . texto('AREA_COMUNICACAO') . ' - ' . limitaTexto($cursoVisualizado->getNome()))));
						$this->getSmarty()->assign('TEXTO_NAVEGACAO', limitaTexto($cursoVisualizado->getNome()) . ' > ' . texto('AREA_COMUNICACAO') . ' > ' . texto('AREA_BLOG') . ' > ' . texto('TEXTO_INSERIR_POST'));
					}
					else {
						if (defined('PARAMETRO_4') && is_numeric(constant('PARAMETRO_4'))) {
							if (defined('PARAMETRO_5') && (constant('PARAMETRO_5') == 'editar' || constant('PARAMETRO_5') == 'excluir')) {
								$idPost			=	constant('PARAMETRO_4');
								if (constant('PARAMETRO_5') == 'editar') {
									//EDICAO DE POST
									$resultadoPosts	=	$blog->getPosts($idPost, NULL, NULL, NULL);
									$listaPosts	=	$resultadoPosts['listaResultados'];
									$tituloBlog	=	texto('TEXTO_BLOG_DO_CURSO');
									if (is_array($resultadoPosts)) {
										foreach ($listaPosts as $chave => $post) {
											$_SESSION['constructore']['inserirPost']['strTitulo']	=	$post['titulo'];
											$_SESSION['constructore']['inserirPost']['strPost']		=	$post['texto'];
											$_SESSION['constructore']['inserirPost']['strBlog']		=	$post['idAtividade'] == NULL ? 'blogCurso' : 'atividade' . $blogCategoria['idAtividade'];
										}
										$this->getSmarty()->assign('editar', TRUE);
										$this->getSmarty()->assign('tituloBlog', $tituloBlog);
										$this->getSmarty()->assign('listaBlogs', $listaBlogs);
										$this->getSmarty()->assign('TITULO_BARRA_NAVEGADOR', texto('TITULO_BARRA_NAVEGADOR', array(texto('TEXTO_BOTAO_EDITAR') . ' - ' . texto('AREA_BLOG') . ' - ' . texto('AREA_COMUNICACAO') . ' - ' . limitaTexto($cursoVisualizado->getNome()))));
										$this->getSmarty()->assign('TEXTO_NAVEGACAO', limitaTexto($cursoVisualizado->getNome()) . ' > ' . texto('AREA_COMUNICACAO') . ' > ' . texto('AREA_BLOG') . ' > ' . texto('TEXTO_BOTAO_EDITAR'));
									}
									else {
										adicionaMensagem(texto('MENSAGEM_ERRO_INTERNO'), 'erro');
										redireciona($_SESSION['constructore']['URLOrigem']);
									}
								}
								else {
									//EXCLUSAO DE POST
									if ($blog->excluirPost($idPost)) {
										redireciona(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'blog'));
									}
									else {
										adicionaMensagem(texto('MENSAGEM_ERRO_INTERNO'), 'erro');
										redireciona($_SESSION['constructore']['URLOrigem']);
									}
								}
							}
							else {
								$idPost			=	constant('PARAMETRO_4');
								$resultadoPosts	=	$blog->getPosts($idPost, NULL, NULL, NULL);
								
								if (is_array($resultadoPosts)) {
									$listaPosts	=	$resultadoPosts['listaResultados'];
									$tituloPost	=	'';
									foreach ($listaPosts as $chave => $post) {
										
										$idAutor	=	$post['idUsuario'];
										$autor		=	new Usuario($idAutor);
										$tituloPost	=	$post['titulo'];
										if ($autor->getIdUsuario() != NULL) {
											if ($post['idAtividade'] == NULL) {
												$blogTitulo	=	texto('TEXTO_BLOG_DO_CURSO');
												$blogHref	=	montaLink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'blog'));
											}
											else {
												//TODO Atividade
											}
											
											if ($post['idUsuario'] == $idUsuario) {
												$possivelEditar		=	TRUE;
												$possivelExcluir	=	TRUE;
												$listaPosts[$chave]['autorNome']	=	texto('TEXTO_AUTOR_VOCE');
												$listaPosts[$chave]['autorHref']	=	montaLink(array('usuario', $idUsuario));
											}
											else {
												$possivelEditar		=	FALSE;
												$possivelExcluir	=	FALSE;
												$listaPosts[$chave]['autorNome']	=	nomeSobrenome($autor->getNome());
												$listaPosts[$chave]['autorHref']	=	montaLink(array('usuario', $autor->getIdUsuario()));
											}
											
											$listaPosts[$chave]['postHref']		=	montaLink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'blog', $post['idPost']));
											$listaPosts[$chave]['blogTitulo']	=	$blogTitulo;
											$listaPosts[$chave]['blogHref']		=	$blogHref;
											$listaPosts[$chave]['possivelEditar']	=	$possivelEditar;
											$listaPosts[$chave]['possivelExcluir']	=	$possivelExcluir;
											$listaPosts[$chave]['hrefEditar']		=	montaLink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'blog', $post['idPost'], 'editar'));
											$listaPosts[$chave]['hrefExcluir']		=	montaLink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'blog', $post['idPost'], 'excluir'));
											$listaPosts[$chave]['dataHoraFormatado']	=	getDataHoraFormatada($post['dataHora']);
											
											foreach ($listaPosts[$chave]['comentarios'] as $chaveComentario => $comentario) {
												$idAutorComentario	=	$comentario['idUsuario'];
												$autorComentario	=	new Usuario($idAutorComentario);
												if ($autorComentario->getIdUsuario() != NULL) {
													$listaPosts[$chave]['comentarios'][$chaveComentario]['fotoAutor']	=	$autorComentario->getURLFoto('medio');
													$diemnsoesFoto	=	getimagesize(constant('__CAMINHO_FOTO_USUARIO__') . ($autorComentario->getFoto('medio') == NULL ? 'usuariodefault_medio.png' : $autorComentario->getFoto('medio')));
													$listaPosts[$chave]['comentarios'][$chaveComentario]['dimensoesFotoAutor']	=	'width="' . $diemnsoesFoto[0] . '" height="' . $diemnsoesFoto[1] . '"';
													$listaPosts[$chave]['comentarios'][$chaveComentario]['titleFotoAutor']		=	texto('TITLE_FOTO_USUARIO', array($autorComentario->getNome()));
													
													$listaPosts[$chave]['comentarios'][$chaveComentario]['hrefAutor']	=	montaLink(array('usuario', $autorComentario->getIdUsuario()));
													$listaPosts[$chave]['comentarios'][$chaveComentario]['nomeAutor']	=	$autorComentario->getNome();
													
													$listaPosts[$chave]['comentarios'][$chaveComentario]['dataInsercaoFormatada']	=	getDataHoraFormatada($comentario['dataHora']);
													$listaPosts[$chave]['comentarios'][$chaveComentario]['comentario']	=	nl2br($comentario['comentario']);
												}
												else {
													adicionaMensagem(texto('MENSAGEM_ERRO_INTERNO'), 'erro');
													redireciona($_SESSION['constructore']['URLOrigem']);
												}
											}
										}
										else {
											adicionaMensagem(texto('MENSAGEM_ERRO_INTERNO'), 'erro');
											redireciona($_SESSION['constructore']['URLOrigem']);
										}
									}
									
									$tituloBlog	=	texto('TEXTO_BLOG_DO_CURSO');
									$possivelInserir	=	TRUE;
									$this->getSmarty()->assign('hrefInserirPost', montaLink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'blog', 'inserir')));
									$this->getSmarty()->assign('possivelInserir', $possivelInserir);
									$this->getSmarty()->assign('tituloBlog', $tituloBlog);
									$this->getSmarty()->assign('listaPosts', $listaPosts);
									$this->getSmarty()->assign('listaBlogs', $listaBlogs);
									$this->getSmarty()->assign('ocultarPosts', FALSE);
									$this->getSmarty()->assign('TITULO_BARRA_NAVEGADOR', texto('TITULO_BARRA_NAVEGADOR', array($tituloPost . ' - ' . texto('AREA_BLOG') . ' - ' . texto('AREA_COMUNICACAO') . ' - ' . limitaTexto($cursoVisualizado->getNome()))));
									$this->getSmarty()->assign('TEXTO_NAVEGACAO', limitaTexto($cursoVisualizado->getNome()) . ' > ' . texto('AREA_COMUNICACAO') . ' > ' . texto('AREA_BLOG') . ' > ' . $tituloPost);
								}
								else {
									adicionaMensagem(texto('MENSAGEM_ERRO_INTERNO'), 'erro');
									redireciona($_SESSION['constructore']['URLOrigem']);
								}
							}
						}
						else {
							$dataInicio		=	NULL;
							$dataFim		=	NULL;
							$idAtividade	=	NULL;
							
							$resultadoPosts	=	$blog->getPosts(NULL, $dataInicio, $dataFim, $idAtividade);
							if (is_array($resultadoPosts)) {
								$listaPosts	=	$resultadoPosts['listaResultados'];
								
								foreach ($listaPosts as $chave => $post) {
									
									$idAutor	=	$post['idUsuario'];
									$autor		=	new Usuario($idAutor);
									
									if ($autor->getIdUsuario() != NULL) {
										if ($post['idAtividade'] == NULL) {
											$blogTitulo	=	texto('TEXTO_BLOG_DO_CURSO');
											$blogHref	=	montaLink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'blog'));
										}
										else {
											//TODO Atividade
										}
										
										if ($post['idUsuario'] == $idUsuario) {
											$possivelEditar		=	TRUE;
											$possivelExcluir	=	TRUE;
											$listaPosts[$chave]['autorNome']	=	texto('TEXTO_AUTOR_VOCE');
											$listaPosts[$chave]['autorHref']	=	montaLink(array('usuario', $idUsuario));
										}
										else {
											$possivelEditar		=	FALSE;
											$possivelExcluir	=	FALSE;
											$listaPosts[$chave]['autorNome']	=	nomeSobrenome($autor->getNome());
											$listaPosts[$chave]['autorHref']	=	montaLink(array('usuario', $autor->getIdUsuario()));
										}
										
										$listaPosts[$chave]['postHref']		=	montaLink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'blog', $post['idPost']));
										$listaPosts[$chave]['blogTitulo']	=	$blogTitulo;
										$listaPosts[$chave]['blogHref']		=	$blogHref;
										$listaPosts[$chave]['possivelEditar']	=	$possivelEditar;
										$listaPosts[$chave]['possivelExcluir']	=	$possivelExcluir;
										$listaPosts[$chave]['hrefEditar']		=	montaLink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'blog', $post['idPost'], 'editar'));
										$listaPosts[$chave]['hrefExcluir']		=	montaLink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'blog', $post['idPost'], 'excluir'));
										$listaPosts[$chave]['dataHoraFormatado']	=	getDataHoraFormatada($post['dataHora']);
										
										foreach ($listaPosts[$chave]['comentarios'] as $chaveComentario => $comentario) {
											$idAutorComentario	=	$comentario['idUsuario'];
											$autorComentario	=	new Usuario($idAutorComentario);
											if ($autorComentario->getIdUsuario() != NULL) {
												$listaPosts[$chave]['comentarios'][$chaveComentario]['fotoAutor']	=	$autorComentario->getURLFoto('medio');
												$diemnsoesFoto	=	getimagesize(constant('__CAMINHO_FOTO_USUARIO__') . ($autorComentario->getFoto('medio') == NULL ? 'usuariodefault_medio.png' : $autorComentario->getFoto('medio')));
												$listaPosts[$chave]['comentarios'][$chaveComentario]['dimensoesFotoAutor']	=	'width="' . $diemnsoesFoto[0] . '" height="' . $diemnsoesFoto[1] . '"';
												$listaPosts[$chave]['comentarios'][$chaveComentario]['titleFotoAutor']		=	texto('TITLE_FOTO_USUARIO', array($autorComentario->getNome()));
												
												$listaPosts[$chave]['comentarios'][$chaveComentario]['hrefAutor']	=	montaLink(array('usuario', $autorComentario->getIdUsuario()));
												$listaPosts[$chave]['comentarios'][$chaveComentario]['nomeAutor']	=	$autorComentario->getNome();
												
												$listaPosts[$chave]['comentarios'][$chaveComentario]['dataInsercaoFormatada']	=	getDataHoraFormatada($comentario['dataHora']);
												$listaPosts[$chave]['comentarios'][$chaveComentario]['comentario']	=	nl2br($comentario['comentario']);
											}
											else {
												adicionaMensagem(texto('MENSAGEM_ERRO_INTERNO'), 'erro');
												redireciona($_SESSION['constructore']['URLOrigem']);
											}
										}
									}
									else {
										adicionaMensagem(texto('MENSAGEM_ERRO_INTERNO'), 'erro');
										redireciona($_SESSION['constructore']['URLOrigem']);
									}
								}
								
								$tituloBlog	=	texto('TEXTO_BLOG_DO_CURSO');
								$possivelInserir	=	TRUE;
								$this->getSmarty()->assign('hrefInserirPost', montaLink(array('curso', $cursoVisualizado->getUrlCurso(), 'comunicacao', 'blog', 'inserir')));
								$this->getSmarty()->assign('possivelInserir', $possivelInserir);
								$this->getSmarty()->assign('tituloBlog', $tituloBlog);
								$this->getSmarty()->assign('listaPosts', $listaPosts);
								$this->getSmarty()->assign('listaBlogs', $listaBlogs);
								$this->getSmarty()->assign('ocultarPosts', TRUE);
								$this->getSmarty()->assign('TITULO_BARRA_NAVEGADOR', texto('TITULO_BARRA_NAVEGADOR', array(texto('AREA_BLOG') . ' - ' . texto('AREA_COMUNICACAO') . ' - ' . limitaTexto($cursoVisualizado->getNome()))));
								$this->getSmarty()->assign('TEXTO_NAVEGACAO', limitaTexto($cursoVisualizado->getNome()) . ' > ' . texto('AREA_COMUNICACAO') . ' > ' . texto('AREA_BLOG'));
							}
							else {
								adicionaMensagem(texto('MENSAGEM_ERRO_INTERNO'), 'erro');
								redireciona($_SESSION['constructore']['URLOrigem']);
							}
						}
					}
					$this->exibir('blog');
					if (isset($_SESSION['constructore']['inserirPost'])) {
						unset($_SESSION['constructore']['inserirPost']);
					}
				}
				else {
					adicionaMensagem(texto('MENSAGEM_ERRO_INTERNO'), 'erro');
					redireciona($_SESSION['constructore']['URLOrigem']);
				}
			}
		}
		else {
			adicionaMensagem(texto('MENSAGEM_ERRO_INTERNO'), 'erro');
			redireciona($_SESSION['constructore']['URLOrigem']);
		}
	}
	else {
		redireciona(array('404'));
	}
?>